前陣子 NoSQL 是被關注的議題,
現在卻是用在無形中而不知覺吧。
SQL與NoSQL的考量
通常應用程式會有需要儲存資料的議題,
採用關連式資料庫是正規傳統的作法,
隨著需要快速更動資料與及時回應,
而有了不用資料庫schema的結構,
有效解決此需要,
不需用到SQL的相對複雜結構,
視自己的程式需要,
可考量要用 RMDB 或者 NoSQL 的方案,
甚至是兩者混著使用。
需留意的是,NoSQL不像 RDBMS 有 ACID 的考量,
可能完全沒有或只有部分的 ACID 設計。
就算考量用 NoSQL,
NoSQL 彼此之間也各有所不同,
傳統一般 RDBMS 的介紹及認識較多,
但 NoSQL 這麼多種,
怎知何時用哪一種的 NoSQL 方案?
1.可參考瀏覽:http://nosql-database.org
該站依 NoSQL 的不同特性列出各種NoSQL的產品。
2.讀一下 35+ Use Cases For Choosing Your Next NoSQL Database
這篇文章把 redis 歸類為 Data Structure Server,
其實也是可歸為 Key-Value Stores。
3.這篇舊文 NoSQL数据库笔谈
也蠻有份量,值得讀一讀。
4.What The Heck Are You Actually Using NoSQL For?
更詳細區分出一般的考量,
及特殊的考量狀況,
並具體指出幾個NoSQL的適用選擇。
一些大型網站,仍會以傳統資料庫為儲存,
再以 NoSQL 配合做為快速變動、讀取資料的使用。
雖然自己實作的東西,
傳統資料庫可解決,
但一些 NoSQL 的特性,
可減少或減化掉 SQL 很複雜的一些處理。
不見得要跟NoSQL的熱潮,
但不妨採用 NoSQL 的一些可以省力的特性。
後續幾篇將介紹 redis 的簡單使用。